package com.rzcode.coinex.kernel.dao.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.rzcode.coinex.kernel.common.enums.AdLocationEnum;
import com.rzcode.coinex.kernel.common.enums.CommonStateEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 系统广告实体类，用于管理系统的广告信息。
 *
 * @author Bridge.Xu
 * @date 2019/1/6 15:06
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "sys_advertise")
public class SysAdvertise {

    /**
     * 广告的唯一编号。
     */
    @ApiModelProperty(value = "广告的唯一编号")
    private String serialNumber;

    /**
     * 广告的名称。
     */
    @ApiModelProperty(value = "广告的名称")
    private String name;

    /**
     * 广告的位置。
     */
    @ApiModelProperty(value = "广告的位置")
    private AdLocationEnum sysAdvertiseLocation;

    /**
     * 广告的语言。
     */
    @ApiModelProperty(value = "广告的语言")
    private String lang;

    /**
     * 广告的开始时间。
     */
    @ApiModelProperty(value = "广告的开始时间")
    private String startTime;

    /**
     * 广告的结束时间。
     */
    @ApiModelProperty(value = "广告的结束时间")
    private String endTime;

    /**
     * 广告的图片URL。
     */
    @ApiModelProperty(value = "广告的图片URL")
    private String url;

    /**
     * 广告链接的URL。
     */
    @ApiModelProperty(value = "广告链接的URL")
    private String linkUrl;

    /**
     * 广告的备注信息。
     */
    @ApiModelProperty(value = "广告的备注信息")
    private String remark;

    /**
     * 广告的状态，默认为正常状态。
     */
    @ApiModelProperty(value = "广告的状态，默认为正常状态")
    private CommonStateEnum status = CommonStateEnum.NORMAL;

    /**
     * 广告的创建时间。
     */
    @ApiModelProperty(value = "广告的创建时间")
    private LocalDateTime createTime;

    /**
     * 广告的内容，可以是HTML文本。
     */
    @ApiModelProperty(value = "广告的内容，可以是HTML文本")
    private String content;

    /**
     * 广告的作者。
     */
    @ApiModelProperty(value = "广告的作者")
    private String author;

    /**
     * 广告的排序值，用于控制显示顺序。
     */
    @ApiModelProperty(value = "广告的排序值，用于控制显示顺序")
    private int sort = 0;
}
